import org.junit.Test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.concurrent.ConcurrentHashMap;


/**
 * @Auther:chenye
 * @Data:2018/7/25
 * @Description:
 */
public class Sort {

    /**
     * 插入排序算法
     */
    @Test
    public void insertSort(){
        int[] a = {6,5,4,9,8};
        int len = a.length;
        int insertNum;//要插入的数
        for(int i=1;i<len;i++){//因为第一次不用，所以从1开始
//            insertNum=a[i];
//            int j=i-1;//序列元素个数
            //a[j]>insertNum 升序， a[j]<insertNum 降序
//            while(j>=0&&a[j]>insertNum){//从后往前循环，将大于insertNum的数向后移动
//                a[j+1]=a[j];//元素向后移动
//                j--;
//            }
//            a[j+1]=insertNum;//找到位置，插入当前元素
            for(int j=i;j>0&&a[j]<a[j-1];j--){
                insertNum = a[j];
                a[j] = a[j-1];
                a[j-1] = insertNum;
            }
        }
        for(int num : a){
            System.err.println(num);
        }
    }

    @Test
    public void maopaoSort(){
        int[] a = {6,5,4,9,8};
        int len = a.length;
        int insertNum;//要插入的数
        for(int i=0;i<len;i++){
            for(int j=0;j<len-i-1;j++) {//注意第二重循环的条件
                if (a[j] > a[j + 1]) {
                    int temp = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = temp;
                }
            }
        }
        for(int num : a){
            System.err.println(num);
        }
    }


    @Test
    public void arraySort(){
        Arrays.sort(new int[]{});
    }

}
